package com.example.rbacmanage.service.system;

import com.example.rbacmanage.base.BaseService;
import com.example.rbacmanage.entity.system.FileUploadDetail;
import org.springframework.web.multipart.MultipartFile;

import java.util.Set;

public interface FileUploadService extends BaseService<FileUploadDetail> {

    /**
     * 上传文件块
     * @param chunk 文件块
     * @param chunkNumber 当前块的编号
     * @param md5 文件的md5值
     */
    public void uploadChunk(MultipartFile chunk,int chunkNumber,String md5);

    /**
     * 根据MD5获取已上传的文件块编号
     * @param md5
     * @return
     */
    public Set<Integer> getUploadedChunks(String md5);

    /**
     * 合并文件块
     * @param md5 文件的md5值
     * @param fileName 文件名
     * @return
     */
    public String mergeChunks(String md5,String fileName) throws Exception;
}
